home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio 5 / Ray Dream.iso / pc / DreamSDK / Windows / INCLUDES / I3DEXTWN.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-11  |  2.8 KB  |  63 lines

  1. /* $Id: I3DEXTWN.H 1.8 1997/05/24 03:41:15 psq-pc Exp $ */
  2. /*****************************************************************************\
  3. *                                                                             *
  4. * I3DExTwn.h -     I3DExTweener definition                                                   *
  5. *                                                                             *
  6. *           Copyright (c) 1995, Ray Dream, Inc. All rights reserved.          *
  7. *                                                                             *
  8. \*****************************************************************************/
  9.  
  10. #ifndef __I3DEXTWN__
  11. #define __I3DEXTWN__
  12.  
  13. #ifndef __I3DEX__
  14. #include "I3DEx.h"
  15. #endif
  16.  
  17.  
  18. //****** Globally Unique Ids *************************************************
  19.  
  20. DEFINE_GUID(IID_I3DExTweener, 0x5C9601A3L, 0x7CC3, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  21. DEFINE_GUID(IID_I3DExTweenerEdition, 0x5C9601A4L, 0x7CC3, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  22.  
  23. /*****************************************************************************\
  24. *  I3DExTweener                                                               *
  25. *                                                                             *
  26. *  Animation Tweeners                                                             *
  27. *                                                                             *
  28. \*****************************************************************************/
  29.  
  30. struct IShKeyFrame;
  31. struct XTweenerChainLink;
  32. class LRect;
  33. struct I3DShTreeElement;
  34. struct IShGraphicDevice;
  35.  
  36. #undef  INTERFACE
  37. #define INTERFACE   I3DExTweener
  38.  
  39. DECLARE_INTERFACE_(I3DExTweener, I3DExDataExchanger) {
  40.     STDMETHOD(DoTweening)(NUM3D &result, long time, long time1, long time2) PURE;
  41.     STDMETHOD(DoTween)(IShKeyFrame *res,long time,XTweenerChainLink *alink) PURE;
  42.     STDMETHOD(Draw)(IShGraphicDevice *aGD,const LRect *area,const LRect *where) PURE;
  43.     STDMETHOD(DoValue)(NUM3D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree) PURE;
  44.     STDMETHOD(DoVector2)(VECTOR2D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree) PURE;
  45.     STDMETHOD(DoVector3)(VECTOR3D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree) PURE;
  46.     STDMETHOD(DoColor)(COLOR3D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree) PURE;
  47.     STDMETHOD(DoRotation)(MATRIX3D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree) PURE;
  48.     };
  49.  
  50. #undef  INTERFACE
  51. #define INTERFACE   I3DExTweenerEdition
  52.  
  53. DECLARE_INTERFACE_(I3DExTweenerEdition, IUnknown) {
  54.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
  55.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  56.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  57.     STDMETHOD(PrepareEdit)(THIS_ XTweenerChainLink *alink) PURE;
  58.     };
  59.  
  60. #undef  INTERFACE
  61.  
  62. #endif
  63.